package com.dhecp.project.finance.service;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.dhecp.project.common.service.BaseModuleService;
import com.dhecp.project.finance.domain.AccountDetailedForCompany;

/**
 * 公司账户流水 服务层接口
 * @author DH-Xxj
 * @version 2022年10月11日
 */
public interface AccountDetailedForCompanyService extends BaseModuleService{

	/**
	 * 查询
	 * @param params
	 * @return List - AccountDetailedForCompany
	 * @throws Exception
	 * @author DH-Xxj
	 */
	List<AccountDetailedForCompany> queryList(Map<String, Object> params) throws Exception;

	/**
	 * 查询汇总金额
	 * @param params
	 * @return List - AccountDetailedForCompany
	 * @throws Exception
	 * @author DH-Xxj
	 */
	List<AccountDetailedForCompany> queryCountList(Map<String, Object> params) throws Exception;

    /**
     * 查询指定公司的汇总金额
     * @param vGsBm 必要参数：公司编码
     * @return AccountDetailedForCompany 实体
     * @throws Exception
     * @author DH-Xxj
     */
	AccountDetailedForCompany queryCountByVGsBm(Map<String, Object> params) throws Exception;

    /**
     * 新增
     * @param vGsBm 必要参数：公司编码
     */
	void insertAccountDetailedForCompany(String vGsBm, String vGsBmP, BigDecimal fJe, String vJyLx, String vBz,
			String mName, Integer mType, String mNid, String mBid, String mGuid,
			String operatorDept, String operatorPosition, String operatorName, String operatorUserId) throws Exception;

	/**
	 * 新增
	 * @param vGsBm 必要参数：公司编码
	 */
	void insertAccountDetailedForCompany2(String vGsBm, String vGsBmP, String vJyLx, BigDecimal fJe, Date dJySj, Date dShSj, String vBz,
										  String mName, Integer mType, String mNid, String mBid, String mGuid, Date writeTime) throws Exception;


}
